This invention relates to a method of controlling data traffic through a network and in particular dynamically reconfiguring and creating label switched paths in a multi-protocol label switching network.
Traffic engineering is the ability to plan and control routing of traffic through a network while ensuring efficient and balanced utilization of network resources and providing a high quality of service to users of the network.
As traffic volume through the Internet has increased exponentially in recent years, traffic engineering has become a focus of network administrators. Administrators have struggled to deal with the increased demand placed on high speed networks. Although advances in traffic engineering have assisted administrators in providing faster routing methods for data flow through networks, a need still exists for methods of efficiently routing traffic.
One recent advancement in traffic engineering which was set fourth by the Internet Engineering Task Force for routing data through a network is known as multiprotocol label switching (MPLS). MPLS systems append headers to packets of information. The headers direct how the packets should be routed through the network. An MPLS system creates a set of label switched paths (LSPs) that provide pathways through an MPLS network for packets of data.
Another common technique that may be used to improve the Quality of Service (QoS) for traffic through a network is to categorize traffic into different classes. The different classes are then handled in different ways and data forwarding differentiation is given to the classes in accordance with a predetermined policy. This method is called differentiated services or DiffServ. These systems allow traffic engineers to take anticipated traffic flows into account when designing a network. In a DiffServ system, a packet of information that is classified with the highest priority (or preferred class) may be forwarded prior to a packet with a lower priority. In addition, a packet with the lower priority may be discarded during periods of extremely high network traffic. A DiffServ system allows traffic to be routed based on the importance of the traffic during periods of high network activity. DiffServ ensures that time critical network traffic, such as real-time voice, is sent through the network as quickly as possible. DiffServ classes may be set up based on anticipated traffic of different types for a network.
In a DiffServ-enabled MPLS system, each DiffServ class is typically allocated a bandwidth fraction on a number of LSPs. Further, to ensure that congestion does not occur in the network, a traffic admission control scheme (also called bandwidth management scheme) is used. In this scheme, before applications inject traffic into the network, they send a request message to the admission controller (also called bandwidth broker) specifying the bandwidth required for the traffic flow. Upon receipt of this request, the admission controller determines the LSP onto which the traffic is to be routed, verifies if the required bandwidth is available on that LSP, and admits the traffic only if the required bandwidth is available. This system works well as long as traffic conditions do not deviate from anticipated and projected conditions. Problems arise when deviations occur from the projected conditions. For example, if traffic in one DiffServ class is consistently above projected levels, admission controller will not admit new incoming traffic of that class and the applications will be denied network bandwidth, and these applications suffer from lack of network quality of service (QoS). On the other hand, if traffic in one DiffServ class stays much below the projected levels, LSPs allocated to that class will be underutilized. To alleviate these anomalies, bandwidth fraction allocated to particular DiffServ classes need to be adjusted such that the network provides bandwidth and thus QoS for applications and optimizes network resources.
Thus, a need exists for a network system which can accommodate increased traffic and dynamically adjust the flow of traffic through LSPs in an MPLS System.